1. Field of the Invention
This invention relates generally to a method that provides UNIX operating system packages (i.e., software that is written for use with the UNIX operating system, and more specifically UNIX System V) having special formats that are understandable to various UNIX packaging utilities. While the invention will be described with reference to the UNIX System V operating system, in its broader aspects the invention is not to be limited thereto.
2. Description of the Related Art
UNIX System V software products are prepared in accordance with formats that are defined by the Application Binary Interface (ABI) that is a supplement to the System V Interface Definition (SVID). Software products in this ABI format are called packages. While the ABI format is versatile, lends itself to well-organized administration, lends itself to the installation of very large packages, and lends itself to the installation of a large number of packages, operation upon packages in the ABI format can be quite slow.
As is well known to those of skill in the art to which this invention pertains, it is difficult to deliver System V packages using special formats that include, without limitation thereto, archived or compressed data, encrypted data, and other packages that are carried within a primary package.
A prior practice has been to use proprietary utilities in order to reassemble a base ABI package into what can be called a compressed package. The result was to provide faster installation speed and smaller packages. While the advantages of using compressed packages for initial installation are clear to those skilled in this art, the format used in these software releases was rather complicated, and the utility which installed the software had to contain special software to deal with the specialized format.
The need remains in the art for an enhancement to the UNIX System, V format that will easily enable special functions, such as compression and encryption.
The present invention provides a set of SYSTEM V utilities that enable software developers to provide easy delivery of complex packages onto a UNIX operating system. More specifically, this invention provides an enhancement to the UNIX System V ABI format, referred to herein as class archive format or package. A class archive package in accordance with the invention is a package in which certain sets of files are combined into single files or archives, wherein these files are optionally compressed or encrypted.
The present invention provides a base ABI package that has been reassembled into a compressed ABI package, thus providing the desired results of faster installation speed and smaller packages. This is done in a manner to ensure that the compressed ABI package will install with the behavior that is defined in the System V ABI. In addition, class archive packages in accordance with this invention improve reliability during installation of packages, and during installation of patches onto potentially active file systems.
The method of the present invention allows a package producer/manufacturer to compress, and then deliver to the market a compressed package, as long as certain requirements are followed. A variety of known compression/decompression algorithms can be used in accordance with the invention.
The following description of the invention will describe the structure of a class archive package, as well as methods for constructing such a class archive package.
The class archive format of the present invention preferably allows a package manufacturer to combine files from the ABI format reloc directory and root directory into an archive directory. These files are compressed, encrypted or otherwise processed in any desired way, the end result being increased installation speed, reduced package size, and/or increased package security.
The class action format of the present invention adds a directory called archive to the ABI format. Any class of files that are intended for archive is combined into a single file, and each such single file is then placed into the archive directory as class1, class2, etc. In a preferred embodiment, all files that are archived in this manner are then removed from the standard ABI reloc directory and the standard ABI root directory, and an install class action script is placed into the scripts portion of the standard ABI install directory.
In order to support the class action format of the present invention, three interfaces are provided in the form of three keywords that have special meaning. These three keywords are (1) PKG_SRC_NOVERIFY, (2) PKG_DST_QKVERIFY, and (3) PKG_CAS_PASSRELATIVE. These three keywords are used to designate the classes of the archive directory that require special treatment. The format of each keyword statement is xe2x80x9ckeyword=class1 [class2 class 3 etc.]xe2x80x9d.
Of these three keywords, only the keyword PKG_SRC_NOVERIFY is an absolute requirement for implementing a class archive package in accordance with the preferred embodiment of the present invention. Use of the other two keywords is desirable in order to increase installation speed and/or to conserve code.
In the preferred embodiment, for each archived class within the archive directory a class action script is required in the install directory. Each such class action script preferably contains Bourne shell commands, and each such class action script is typically executed by pkgadd to install the files from the archive directory.
A specific utility of this invention is to provide in a computer system an extension to the computer system""s operating system wherein an archive directory contains classes of a software package having special-features, wherein an install directory contains install-class-action scripts whose execution enables installation of the special-feature classes from the archive directory in a manner that does not require validation of the special-feature classes, and wherein files in the special-feature classes are organized into a list that enables the files to be installed from the archive directory by operation of the install-class-action scripts
These and other advantages and features of the present invention will be apparent to those of skill in the art upon reference to the following detailed description of the invention, which detailed description makes reference to the drawing.